今天介紹一個Tap手勢跟UITableView發生衝突的問題
使用UITableView作為顯示,當TableViewCell內部有textfield時,如果想要取消鍵盤
最直覺的想法是 點選其他空白的位置,讓他可以取消keyboard
但是當你使用UITableView作為顯示,當點選旁邊常常都會是點選到TableViewCell
想用手勢tap作為取消鍵盤的,但是又不想觸動UITableView
因此會使用
let tap: UITapGestureRecognizer
tap = UITapGestureRecognizer(target: self, action: #selector(dismissKeyBoard))
// 新增一個Gesture到view裡面
self.view.addGestureRecognizer(tap)
@objc func dismissKeyBoard() {
self.view.endEditing(true)
}
原本也有試過TouchBegan不過試過幾次都沒有成功
參考連結: